home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
libs
/
newlooklib.lha
/
newlook
/
addgborder.c
next >
Wrap
C/C++ Source or Header
|
1993-12-26
|
2KB
|
82 lines
/*
* ADDGBORDER.C
*/
#include "newlook.h"
/****** newlook.lib/AddGBorder ******************************************
*
* NAME
* AddGBorder -- Add a (newlook) border to a gadget.
*
* SYNOPSIS
* border= AddGBorder( g, b )
*
* struct Border *AddGBorder( struct Gadget *, struct Border * );
*
* FUNCTION
* Link given struct Border *b to the g->GadgetRender list of Borders.
* If b is == NULL a new border will be created & chained to
* g->GadgetRender.
*
* INPUTS
* g - the gadget to this function is about to add
* or create a border.
* b - the border (or a list of borders) which will be
* added to the g->GadgetRender entry or NULL for
* a newlook border.
*
* RESULT
* border - either given struct border *b or (if b was NULL) the
* allocated newlook border.
*
* EXAMPLE
*
* NOTES
*
* BUGS
*
* SEE ALSO
* CreateBorder(), LastBorder()
*
*****************************************************************************
*
*/
struct Border *AddGBorder(g,b)
struct Gadget *g;
struct Border *b;
/* Links b given struct Border *b to the GadgetRender list of Borders.
* If b is NULL a new border will be created & chained to g->GadgetRender.
*/
{
/* No Borders for Gadgets w/ Images */
if(g && (g->Flags & GADGIMAGE)==NULL)
{
if(b == (struct Border *)NULL)
{
if(g->GadgetType == STRGADGET)
{
if(b= CreateBorder(-4,-2,g->Width+8,g->Height+4,TRUE))
{
LastBorder(b)->NextBorder=
CreateBorder(-6,-3,g->Width+12,g->Height+6,FALSE);
}
}
else if(g->GadgetType == BOOLGADGET)
{
b= CreateBorder(0,0,g->Width,g->Height,g->Flags==SELECTED|GADGHCOMP);
}
}
if(b)
{
if(g->GadgetRender)
LastBorder(b)->NextBorder = g->GadgetRender;
g->GadgetRender= b;
}
}
return b;
}